package edu.erpan.bl.entities;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import edu.erpan.util.entityManager.DefaultEntity;


/**
 * The persistent class for the operacion database table.
 * 
 */
@Entity
@Table(name="operacion")
public class Operacion extends DefaultEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(unique=true, nullable=false)
	private int idoperacion;

	@Column(name="costo_hora_hombre", nullable=false, precision=10, scale=2)
	private BigDecimal costoHoraHombre;

	@Column(length=250)
	private String descripcion;

	@Column(nullable=false, length=50)
	private String nombre;

	@Column(name="t_control")
	private int tControl;

	@Column(name="tiempo_alistamiento", nullable=false)
	private int tiempoAlistamiento;

	@Column(name="tiempo_no_productivo", nullable=false)
	private int tiempoNoProductivo;

	//bi-directional many-to-one association to FlujoOperacion
	@OneToMany(mappedBy="operacion", fetch=FetchType.EAGER)
	private List<FlujoOperacion> flujosOperacion;

    public Operacion() {
    }

	public int getIdoperacion() {
		return this.idoperacion;
	}

	public void setIdoperacion(int idoperacion) {
		this.idoperacion = idoperacion;
	}

	public BigDecimal getCostoHoraHombre() {
		return this.costoHoraHombre;
	}

	public void setCostoHoraHombre(BigDecimal costoHoraHombre) {
		this.costoHoraHombre = costoHoraHombre;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getTControl() {
		return this.tControl;
	}

	public void setTControl(int tControl) {
		this.tControl = tControl;
	}

	public int getTiempoAlistamiento() {
		return this.tiempoAlistamiento;
	}

	public void setTiempoAlistamiento(int tiempoAlistamiento) {
		this.tiempoAlistamiento = tiempoAlistamiento;
	}

	public int getTiempoNoProductivo() {
		return this.tiempoNoProductivo;
	}

	public void setTiempoNoProductivo(int tiempoNoProductivo) {
		this.tiempoNoProductivo = tiempoNoProductivo;
	}

	public List<FlujoOperacion> getFlujosOperacion() {
		return this.flujosOperacion;
	}

	public void setFlujosOperacion(List<FlujoOperacion> flujosOperacion) {
		this.flujosOperacion = flujosOperacion;
	}
	
}